Today, almost every type of electronics device includes some type of digital processing circuit. For example, microwave ovens, refrigerators, coffee makers, computer game systems, watches, televisions, and personal computers, to mention just a few. Manufacturers developing such electronic devices use digital processing circuits to produce products that are easier to use, provide more features, and in smaller packages, all with the intent of capturing a bigger share of the relevant market. As many marketing studies have shown, the first to market usually captures, and maintains, a majority share of the market, provided, of course, that their product works and it is what the market wants. Thus, it is very important to most manufacturers to be first to market. But, with products being developed with more advanced technologies, more complex circuits are being used which take more time to develop and to test, adding to the development time and, as result, delaying the time to market. Manufacturers are thus caught in a catch-22 situation: rush a product to market that many not be filly functional or delay market entry to make sure the product works.
This catch-22 scenario is very prevalent in the personal computer market because of the very short life cycle (Eg. 18 to 24 months) of personal computers. Thus, for computer manufacturers and computer component manufacturers it is very critical to continue to reduce the time to market, but still provide advanced features. Such demanded features include greater processing speed, more memory, better video graphics, better Internet connection, all in smaller and lighter packages. To meet these market demands, most computer manufacturers and computer component manufacturers use Application Specific Integrated Circuits (ASIC).
While ASICs meet the market demand for better performance in smaller packages, they take time to design, develop, and test. As with any integrated circuit (IC) development, once the circuit has been designed and a mask created, the ASIC needs to be fabricated and then tested. It is not uncommon for the ASIC to fail the initial test, requiring the circuit to be modified, a new mask created, and the ASIC to be re-fabricated. Once the ASIC passes testing, it is ready for incorporation in the system, which may be a personal computer, television, video graphics circuit, video game system, etc. But, until the ASIC is functional, the system cannot be completely tested, delaying time to market. The time to market is further delayed when the ASIC does not completely work within the system and revisions need to be made to the ASIC and/or the system.
Attempts have been made to simulate the operation of the ASIC (before the ASIC is available) such that the system can be tested. Many problems arose with these attempts. For example, the system was reworked such that it would know that it was communicating with an ASIC simulator and not the actual ASIC. The rework done to the system affected the environment between the system and the ASIC simulator, such that the testing did not effectively simulate the ASIC operation within the system. The problems continued when the ASIC was available, because the system had to be reworked to now accommodate the actual ASIC, which took time and limited the testing to either the actual ASIC or the ASIC simulator. Another problem arose when the ASIC simulator software lagged behind the ASIC.
As a result of the above mentioned problems, most system developers have shied away from using ASIC simulators. They use the serial testing method of developing the ASIC supporting and interfacing circuitry and software based on the specifications of the ASIC, which sometimes change. Then, when the ASIC is available, the system developers test the system with the ASIC, making modifications were needed. But this approach adds to the time to market, which may mean that a manufacturer enters the market late.
Therefore, a need exists for an ASIC emulator, and method thereof that does not require the system to be reworked to test the system with the ASIC emulator, and one that can be coupled into the system at the same time as the actual ASIC.